Skip to content

Standardize error observability across all device operations#9

Merged
cuttlefisch merged 1 commit into
mainfrom
feat/device-error-observability
Apr 5, 2026
Merged

Standardize error observability across all device operations#9
cuttlefisch merged 1 commit into
mainfrom
feat/device-error-observability

Conversation

@cuttlefisch
Copy link
Copy Markdown
Owner

@cuttlefisch cuttlefisch commented Apr 5, 2026

Summary

  • Every ErrorDetails instance now passes operationName, so copied bug reports always identify which operation failed
  • Server warnings (e.g. rebuild_hashtable failures during xovi remove) propagate through to the UI as a visible warnings list on success results
  • Restore errors in DeviceBackupsCard upgraded from plain inline strings to structured ErrorDetails with copy-for-bug-report
  • Server-side removeAll mid-stream errors now include actionable hint text

Test plan

  • All 1027 tests passing, 0 lint errors, clean TS build
  • Docker build + manual verification of themed error/warning display
  • Trigger error on each device operation type and verify operationName appears in copied bug report

🤖 Generated with Claude Code

Every ErrorDetails instance now includes operationName so bug report
copies identify which operation failed. Warnings from server responses
(e.g. rebuild_hashtable failures) are displayed in success results.

Frontend:
- OpButton: new operationName prop, passes details to ErrorDetails,
  renders warnings list on success
- DeviceSyncCard: all 7 OpButton usages + sync-status + remove-all
  ErrorDetails pass operationName
- DeviceConnectionCard: all 3 ErrorDetails pass operationName
- DeviceBackupsCard: restore errors use ErrorDetails with structured
  details instead of plain inline strings
- deviceOpHelpers: success results propagate warnings from server

Server:
- removeAll mid-stream errors include actionable hint text

CSS:
- device-op-warnings styled with themed --color-warning-text

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@cuttlefisch cuttlefisch merged commit ee3c556 into main Apr 5, 2026
2 checks passed
cuttlefisch pushed a commit that referenced this pull request Apr 5, 2026
Backmerge xovi checksum robustness (PR #8) and device error
observability (PR #9) into the notebook builder feature branch.

Resolved conflicts in 7 files, fixed duplicate seedXoviFs export
and unused writeFileSync import from merge.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant